package com.firestone.bean.entity.elasticsearch.dm;

import com.firestone.bean.entity.elasticsearch.nested.WeightJson;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.*;

import java.io.Serializable;
import java.util.List;

/**
 * @author dingjc
 * @Description：TODO(数据工厂DM层进口药品表 Elasticsearch bean)
 *              DM数据工厂ES表不由该系统维护，请将createIndex设为false，避免系统启动时修改了大数据维护表的索引
 * @date 2018年04月17日  下午 5:47
 */
@Document( indexName = "dm_map_imported_drugs" ,type = "index",createIndex = true)
@Setting(settingPath = "/setting/setting.json")
public class DmMapImportedDrugs implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private String id;

    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_check_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_dm_update_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;

    /**
     * @Fields chinese_address: TODO（地址（中文））
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String chinese_address;

    /**
     * @Fields chinese_company_country_region: TODO(国家／地区（中文）)
     */
    @Field(type = FieldType.keyword)
    private String chinese_company_country_region;

    /**
     * @Fields chinese_company_name: TODO(公司名称（中文）)
     */
    @Field(type = FieldType.keyword)
    private String chinese_company_name;

    /**
     * @Fields chinese_manufactor: TODO(生产厂商（中文）)
     */
    @Field(type = FieldType.keyword)
    private String chinese_manufactor;

    /**
     * @Fields chinese_package_specifications: TODO(包装规格（中文）)
     */
    @Field(type = FieldType.keyword)
    private String chinese_package_specifications;

    /**
     * @Fields chinese_vendor_address: TODO(厂商地址（中文）)
     */
    @Field(type = FieldType.keyword)
    private String chinese_vendor_address;

    /**
     * @Fields chinese_vendor_country_region: TODO(厂商国家／地区（中文）)
     */
    @Field(type = FieldType.keyword)
    private String chinese_vendor_country_region;

    /**
     * @Fields commodity_name: TODO(商品名（中文）)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String commodity_name;

    /**
     * @Fields dosage_form: TODO(厂商地址（中文）)
     */
    @Field(type = FieldType.keyword)
    private String dosage_form;

    /**
     * @Fields drug_standard_code: TODO(药品本位码)
     */
    @Field(type = FieldType.keyword)
    private String drug_standard_code;

    /**
     * @Fields english_address: TODO(地址（英文）)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String english_address;

    /**
     * @Fields english_comodity_name: TODO(商品名（英文）)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String english_comodity_name;

    /**
     * @Fields english_company_country_region: TODO(国家／地区（英文）)
     */
    @Field(type = FieldType.keyword)
    private String english_company_country_region;

    /**
     * @Fields english_company_name: TODO(公司名称（英文）)
     */
    @Field(type = FieldType.keyword)
    private String english_company_name;

    /**
     * @Fields english_manufactor: TODO(生产厂商（英文）)
     */
    @Field(type = FieldType.keyword)
    private String english_manufactor;

    /**
     * @Fields english_product_name: TODO(产品名称（英文）)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String english_product_name;

    /**
     * @Fields english_vendor_address: TODO(厂商地址（英文）)
     */
    @Field(type = FieldType.keyword)
    private String english_vendor_address;

    /**
     * @Fields english_vendor_country_region: TODO(厂商国家／地区（英文））)
     */
    @Field(type = FieldType.keyword, analyzer = "ik_max_word")
    private String english_vendor_country_region;

    /**
     * @Fields expiry_date: TODO(有效期截止日)
     */
    @Field(type = FieldType.keyword,format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String expiry_date;

    /**
     * @Fields issuing_date: TODO(发证日期)
     */
    @Field(type = FieldType.keyword,format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String issuing_date;

    /**
     * @Fields note_of_drug_standard_code: TODO(药品本位码备注)
     */
    @Field(type = FieldType.keyword)
    private String note_of_drug_standard_code;

    /**
     * @Fields note_of_registration_number: TODO(注册证号备注)
     */
    @Field(type = FieldType.keyword)
    private String note_of_registration_number;

    /**
     * @Fields original_registration_number: TODO(原注册证号)
     */
    @Field(type = FieldType.keyword)
    private String original_registration_number;

    /**
     * @Fields product_name: TODO(产品名称（中文））)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String product_name;

    /**
     * @Fields product_type: TODO(产品类别)
     */
    @Field(type = FieldType.keyword)
    private String product_type;

    /**
     * @Fields registration_number: TODO(注册证号)
     */
    @Field(type = FieldType.keyword)
    private String registration_number;

    /**
     * @Fields specifications: TODO(规格（中文）)
     */
    @Field(type = FieldType.keyword)
    private String specifications;

    /**
     * @Fields sub_package_approval_reference_date: TODO(分包装文号批准日期)
     */
    @Field(type = FieldType.keyword,format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String sub_package_approval_reference_date;

    /**
     * @Fields sub_package_approval_reference_number: TODO(分包装批准文号)
     */
    @Field(type = FieldType.keyword)
    private String sub_package_approval_reference_number;

    /**
     * @Fields sub_package_firm_address: TODO(分包装企业地址)
     */
    @Field(type = FieldType.keyword)
    private String sub_package_firm_address;

    /**
     * @Fields sub_package_firm_name: TODO(分包装企业名称)
     */
    @Field(type = FieldType.keyword)
    private String sub_package_firm_name;

    /**
     * @Fields sub_package_reference_expiry_date: TODO(分包装文号有效期截止日)
     */
    @Field(type = FieldType.keyword,format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String sub_package_reference_expiry_date;

    /**
     * weight_json:字段来源
     */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String SYS_add_time) {
        this.SYS_add_time = SYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String SYS_check_time) {
        this.SYS_check_time = SYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String SYS_dm_update_time) {
        this.SYS_dm_update_time = SYS_dm_update_time;
    }

    public String getChinese_address() {
        return chinese_address;
    }

    public void setChinese_address(String chinese_address) {
        this.chinese_address = chinese_address;
    }

    public String getChinese_company_country_region() {
        return chinese_company_country_region;
    }

    public void setChinese_company_country_region(String chinese_company_country_region) {
        this.chinese_company_country_region = chinese_company_country_region;
    }

    public String getChinese_company_name() {
        return chinese_company_name;
    }

    public void setChinese_company_name(String chinese_company_name) {
        this.chinese_company_name = chinese_company_name;
    }

    public String getChinese_manufactor() {
        return chinese_manufactor;
    }

    public void setChinese_manufactor(String chinese_manufactor) {
        this.chinese_manufactor = chinese_manufactor;
    }

    public String getChinese_package_specifications() {
        return chinese_package_specifications;
    }

    public void setChinese_package_specifications(String chinese_package_specifications) {
        this.chinese_package_specifications = chinese_package_specifications;
    }

    public String getChinese_vendor_address() {
        return chinese_vendor_address;
    }

    public void setChinese_vendor_address(String chinese_vendor_address) {
        this.chinese_vendor_address = chinese_vendor_address;
    }

    public String getChinese_vendor_country_region() {
        return chinese_vendor_country_region;
    }

    public void setChinese_vendor_country_region(String chinese_vendor_country_region) {
        this.chinese_vendor_country_region = chinese_vendor_country_region;
    }

    public String getCommodity_name() {
        return commodity_name;
    }

    public void setCommodity_name(String commodity_name) {
        this.commodity_name = commodity_name;
    }

    public String getDosage_form() {
        return dosage_form;
    }

    public void setDosage_form(String dosage_form) {
        this.dosage_form = dosage_form;
    }

    public String getDrug_standard_code() {
        return drug_standard_code;
    }

    public void setDrug_standard_code(String drug_standard_code) {
        this.drug_standard_code = drug_standard_code;
    }

    public String getEnglish_address() {
        return english_address;
    }

    public void setEnglish_address(String english_address) {
        this.english_address = english_address;
    }

    public String getEnglish_comodity_name() {
        return english_comodity_name;
    }

    public void setEnglish_comodity_name(String english_comodity_name) {
        this.english_comodity_name = english_comodity_name;
    }

    public String getEnglish_company_country_region() {
        return english_company_country_region;
    }

    public void setEnglish_company_country_region(String english_company_country_region) {
        this.english_company_country_region = english_company_country_region;
    }

    public String getEnglish_company_name() {
        return english_company_name;
    }

    public void setEnglish_company_name(String english_company_name) {
        this.english_company_name = english_company_name;
    }

    public String getEnglish_manufactor() {
        return english_manufactor;
    }

    public void setEnglish_manufactor(String english_manufactor) {
        this.english_manufactor = english_manufactor;
    }

    public String getEnglish_product_name() {
        return english_product_name;
    }

    public void setEnglish_product_name(String english_product_name) {
        this.english_product_name = english_product_name;
    }

    public String getEnglish_vendor_address() {
        return english_vendor_address;
    }

    public void setEnglish_vendor_address(String english_vendor_address) {
        this.english_vendor_address = english_vendor_address;
    }

    public String getEnglish_vendor_country_region() {
        return english_vendor_country_region;
    }

    public void setEnglish_vendor_country_region(String english_vendor_country_region) {
        this.english_vendor_country_region = english_vendor_country_region;
    }

    public String getExpiry_date() {
        return expiry_date;
    }

    public void setExpiry_date(String expiry_date) {
        this.expiry_date = expiry_date;
    }

    public String getIssuing_date() {
        return issuing_date;
    }

    public void setIssuing_date(String issuing_date) {
        this.issuing_date = issuing_date;
    }

    public String getNote_of_drug_standard_code() {
        return note_of_drug_standard_code;
    }

    public void setNote_of_drug_standard_code(String note_of_drug_standard_code) {
        this.note_of_drug_standard_code = note_of_drug_standard_code;
    }

    public String getNote_of_registration_number() {
        return note_of_registration_number;
    }

    public void setNote_of_registration_number(String note_of_registration_number) {
        this.note_of_registration_number = note_of_registration_number;
    }

    public String getOriginal_registration_number() {
        return original_registration_number;
    }

    public void setOriginal_registration_number(String original_registration_number) {
        this.original_registration_number = original_registration_number;
    }

    public String getProduct_name() {
        return product_name;
    }

    public void setProduct_name(String product_name) {
        this.product_name = product_name;
    }

    public String getProduct_type() {
        return product_type;
    }

    public void setProduct_type(String product_type) {
        this.product_type = product_type;
    }

    public String getRegistration_number() {
        return registration_number;
    }

    public void setRegistration_number(String registration_number) {
        this.registration_number = registration_number;
    }

    public String getSpecifications() {
        return specifications;
    }

    public void setSpecifications(String specifications) {
        this.specifications = specifications;
    }

    public String getSub_package_approval_reference_date() {
        return sub_package_approval_reference_date;
    }

    public void setSub_package_approval_reference_date(String sub_package_approval_reference_date) {
        this.sub_package_approval_reference_date = sub_package_approval_reference_date;
    }

    public String getSub_package_approval_reference_number() {
        return sub_package_approval_reference_number;
    }

    public void setSub_package_approval_reference_number(String sub_package_approval_reference_number) {
        this.sub_package_approval_reference_number = sub_package_approval_reference_number;
    }

    public String getSub_package_firm_address() {
        return sub_package_firm_address;
    }

    public void setSub_package_firm_address(String sub_package_firm_address) {
        this.sub_package_firm_address = sub_package_firm_address;
    }

    public String getSub_package_firm_name() {
        return sub_package_firm_name;
    }

    public void setSub_package_firm_name(String sub_package_firm_name) {
        this.sub_package_firm_name = sub_package_firm_name;
    }

    public String getSub_package_reference_expiry_date() {
        return sub_package_reference_expiry_date;
    }

    public void setSub_package_reference_expiry_date(String sub_package_reference_expiry_date) {
        this.sub_package_reference_expiry_date = sub_package_reference_expiry_date;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
}
